WriteRecordToFile
Definition:
WriteRecordToFile(filename, datasource)
Description:
Append the current record for a specified Data Source to a local file on the mobile device.
Platforms:
Android, Universal Windows, Windows Desktop
Parameters:
filename - required
Specify the name of the file to append the record to.
If you include a fully qualified path name with the file name, the Client will use the specified folder.
If you don't include the path, the file will be written to the same folder as your app files.
Specify one of the following values:
"" - Specify an empty string to allow the user to browse for and select the file to write to at runtime.
<filename> - Specify a file name without a path, e.g. MyFile.txt, to write to a file located within the default folder (see Notes below).
Documents\<subfolderpath>\<filename> - Specify the path and file name of a file located in the device's Documents library, or one of its subfolders, using this special format, e.g. Documents\MyApp\DataFiles\MyData.xlsx. This option requires permission to directly access the device's Documents library (see Notes below).
Specify the name of the file to append the record to.
If you include a fully qualified path name with the file name, the Client will use the specified folder, otherwise it will use a default folder (see Notes below).
datasource - required
Specifies the Data Source whose current record will be written to the file – click here for the format of this parameter.
Returns:
nothing
Notes:
Appends the current record in the specified Data Source in comma-separated-values (CSV) format to the specified file. If the file is empty, the column names will be written, also in CSV format, as the first line of the file. If the file doesn't exist it will be created, so if you want to overwrite an existing file instead of appending data to it, you can delete the existing file first using the DeleteFile Method.
Note the following:
-
If you specify an empty string as the parameter to this Method, the operating system controls which files the user can select and write to.
-
If you specify just a file name as the parameter to this Method, you can write to any file in the default folder. The default folder varies depending upon whether you are running the app within the Universal Windows Client or as a Standalone App:
Digitise Apps Client:
C:\Users\<user>\AppData\Local\Packages\<appGUID>\LocalCache\Applications\<appname>\docs
Standalone App:
C:\Users\<user>\AppData\Local\Packages\<appGUID>\LocalCache\<appname>\Applications\<appname>\docs
where appGUID is a unique identifier assigned to an app by the operating system. You can recognise the relevant GUID for your app or Digitise Apps Client by looking for the app name within the GUID or, in the case of a Client, the GUID will contain 'MXUniversalClient' within it, e.g. a Digitise Apps Client's GUID will look something like: com.ndl.mx.MxUniversalClient_1a2b3c4e5f6g7.
-
If you are creating a Standalone App and you want to directly access files in the device's Document library using this Method, you will need to turn on this capability within the build request to the Digitise Apps Build System. You do this by selecting the Access Documents Library option under the Permissions tab when configuring the Standalone App build request in App Studio. If you select Access Documents Library, you then need to create a list of file extensions determining which files in the Documents library the Scripting Methods are allowed to operate on.
Note that when creating a store version of a Standalone App, selecting Access Documents Library affects the process by which you submit the app to the Store and requires you to justify your use of this option to Microsoft.
For a pre-configured version of the Universal Windows Client, Access Documents Library is always selected and you only need to specify a list of file extensions, determining which files in the Documents library the Scripting Methods are allowed to operate on, under the File Extensions tab in the build request.
You can only specify a file using the Documents\<subfolderpath>\<filename> format as a parameter to this Method if Access Documents Library is selected.
However, the file specified can only be written to if its file extension is included in your list of file extensions in the build request. If you specify a file with an unlisted file extension the Method will fail silently.
The standard NDL-signed Digitise Apps Client supplied in the Digitise Apps Product Download, has Access Documents Library disabled and cannot directly access files and folders in the Documents library.
If you omit the path from the file name specified in the filename parameter, the Method will use a default folder. The default folder varies depending upon whether you are running the app within the Windows Desktop Client or as a Standalone App:
Digitise Apps Client:
C:\Users\<user>\AppData\Roaming\ndl-metascybe\MXClient.2013\Applications\<appname>\docs
Standalone App:
C:\Users\<user>\AppData\Roaming\ndl-metascybe\MXClient.<appname>\Applications\<appname>\docs